﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CommonTypes;
using CommonTypes.PacienteTableAdapters;

namespace SI2_TrabalhoFinal {
    public partial class PacienteListar : MasterForm {
        public PacienteListar() {
            InitializeComponent();
            
        }

        protected void PacienteListar_Load(object sender, EventArgs e) {
            this.Refresh();
        }
       
        protected void btnEditar_Click(object sender, EventArgs e) {
            Paciente.PessoaRow pessoa = GetSelectedPessoa();
            Paciente.PacienteRow paciente = GetSelectedPaciente();

            PacienteEdit form = new PacienteEdit(this.MdiParent, this, pessoa, paciente);
            form.Show();
        }
        protected Paciente.PacienteRow GetSelectedPaciente() {
            return (Paciente.PacienteRow)((DataRowView)dataGridView1.CurrentRow.DataBoundItem).Row;
        }

        protected Paciente.PessoaRow GetSelectedPessoa() {
            Paciente.PacienteRow row = GetSelectedPaciente();

            PessoaTableAdapter adapter = new PessoaTableAdapter();
            Paciente.PessoaDataTable pessoaTable = adapter.GetData(row.IdPessoa);

            return (Paciente.PessoaRow)pessoaTable.Rows[0];
        }

        protected void btnInserir_Click(object sender, EventArgs e) {
            PacienteEdit form = new PacienteEdit(this.MdiParent, this);
            form.Show();           
        }

        protected void btnContactos_Click(object sender, EventArgs e) {
            Contactos form = new Contactos(this.MdiParent);
            form.Text += " Paciente";
            Paciente.PessoaRow pessoa = GetSelectedPessoa();
            form.Nif = pessoa.Nif;
            form.Nome = pessoa.Nome;
            form.Apelido = pessoa.UltimoNome;
            form.NumSegSocial = pessoa.NumeroSS;

            form.Show();
        }

        public override void Refresh() {
            PacienteTableAdapter adapter = new PacienteTableAdapter();
            Paciente.PacienteDataTable dt = adapter.GetData();

            dataGridView1.DataSource = dt;

            dataGridView1.Columns[dt.IdSistemaSaudeColumn.ColumnName].Visible = false;
            dataGridView1.Columns[dt.IdPessoaColumn.ColumnName].Visible = false;           
            dataGridView1.Columns["IdNacionalidade"].Visible = false;  
        }

        private void btnEliminar_Click(object sender, EventArgs e) {

        }
    }
}
